package conexion;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class insertSQL {

	/**
	 * 
	 * @param FechaSeleccionada
	 * @param Folio
	 * @param Patente
	 * @param RutOperador
	 * @param RutCliente
	 * @param Ubicacion
	 * @param PetroleoCargado
	 * @param HorasDias
	 * @param TipoMaquina
	 * @param TipoArriendo
	 * @param IdPeticion
	 * @return
	 * @throws ParseException
	 * @throws SQLException
	 */
	public boolean agregarReporteMaquinariaSQL(String FechaSeleccionada, String Folio, String Patente, String RutOperador, String RutCliente,
			String Ubicacion, String PetroleoCargado, String HorasDias, String TipoMaquina, String TipoArriendo, String IdPeticion) throws ParseException, SQLException{
		
		
		boolean retorna = false;
		
		//Definimos los tipos de datos.
		int FolioInt = Integer.parseInt(Folio);
		int PetroleoCargadoInt = Integer.parseInt(PetroleoCargado);
		int IdPeticionInt = Integer.parseInt(IdPeticion);
		double HorasDiasDouble = Double.parseDouble(HorasDias);
		
		DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); //formate de fecha
		Date FechaSeleccionadaDate;
		FechaSeleccionadaDate = df.parse(FechaSeleccionada); //creamos un util.Date
		java.sql.Date FechaSeleccionadaDateSQL = new java.sql.Date(FechaSeleccionadaDate.getTime()); //creamos un sql.date
		
		//Conectamos al servidor.
		Connection conn = null;
		conexion.EstablecerConexion conectar = new conexion.EstablecerConexion();
		
		try{
			conn = conectar.iniciar();
			
			String TablaBD = "reporte_diario";
			String stmTitulo = "INSERT INTO "+TablaBD+" VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
			PreparedStatement cargar = conn.prepareStatement(stmTitulo);
			cargar.setInt(1, FolioInt);
			cargar.setString(2, RutOperador); 
			cargar.setString(3, Patente);
			cargar.setDate(4, FechaSeleccionadaDateSQL);
			cargar.setString(5, Ubicacion);
			cargar.setString(6, TipoMaquina);
			cargar.setInt(7, PetroleoCargadoInt);
			cargar.setString(8, TipoArriendo);
			cargar.setDouble(9, HorasDiasDouble);
			cargar.setString(10, RutCliente);
			cargar.setInt(11, IdPeticionInt);
			
			cargar.executeUpdate();
			
			retorna = true;
		}catch(SQLException e){
			retorna = false;
			e.printStackTrace(); 
		}
		
		
		return retorna;
	}
	
	
	/**
	 * 
	 * @param FechaSeleccionada
	 * @param Folio
	 * @param Patente
	 * @param RutOperador
	 * @param RutCliente
	 * @param Ubicacion
	 * @param PetroleoCargado
	 * @param DiasVueltas
	 * @param MetrosCubicos
	 * @param TipoArriendo
	 * @param TipoMaterial
	 * @param TipoMaquina
	 * @param IdPeticion
	 * @return
	 * @throws ParseException
	 * @throws SQLException
	 */
	public boolean agregarReporteCamionesSQL(String FechaSeleccionada, String Folio, String Patente, String RutOperador,
			String RutCliente, String Ubicacion, String PetroleoCargado, String DiasVueltas, String MetrosCubicos,
			String TipoArriendo, String TipoMaterial, String TipoMaquina, String IdPeticion) throws ParseException, SQLException
	{
		boolean retorna = false;
		
		//Definimos los tipos de datos.
		int FolioInt = Integer.parseInt(Folio);
		int PetroleoCargadoInt = Integer.parseInt(PetroleoCargado);
		int MetrosCubicosInt = Integer.parseInt(MetrosCubicos);
		int IdPeticionInt = Integer.parseInt(IdPeticion);
		double DiasVueltasDouble = Double.parseDouble(DiasVueltas);
		
		
		DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); //formate de fecha
		Date FechaSeleccionadaDate;
		FechaSeleccionadaDate = df.parse(FechaSeleccionada); //creamos un util.Date
		java.sql.Date FechaSeleccionadaDateSQL = new java.sql.Date(FechaSeleccionadaDate.getTime()); //creamos un sql.date
		

		//Conectamos al servidor.
		Connection conn = null;
		conexion.EstablecerConexion conectar = new conexion.EstablecerConexion();
		
		try{
			conn = conectar.iniciar();
			
			String TablaBD = "control_diario";
			String stmTitulo = "INSERT INTO "+TablaBD+" VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
			PreparedStatement cargar = conn.prepareStatement(stmTitulo);
			cargar.setInt(1, FolioInt);
			cargar.setString(2, RutOperador);
			cargar.setString(3, Patente);
			cargar.setString(4, TipoMaquina);
			cargar.setDate(5, FechaSeleccionadaDateSQL);
			cargar.setString(6, Ubicacion);
			cargar.setString(7, TipoArriendo);
			cargar.setDouble(8, DiasVueltasDouble);
			cargar.setString(9, TipoMaterial);
			cargar.setInt(10, PetroleoCargadoInt);
			cargar.setInt(11, MetrosCubicosInt);
			cargar.setString(12, RutCliente);
			cargar.setInt(13, IdPeticionInt);
			
			cargar.executeUpdate();
			
			retorna = true;
		}catch(SQLException e){
			retorna = false;
			e.printStackTrace(); 
		}
		
		
		return retorna;
	}
}
